package com.study.concurrent.C_ThreadSynchronizationHelperClass.e_SynchronizationOnCommonPoint;

import java.util.Random;

/**
 * Created by 赵超 on 2017/3/25.
 * 矩阵类
 */
public class MatrixMock {
    private int[][] data;

    /**
     * 构造器初始化
     *
     * @param size   行数
     * @param length 列数
     * @param number 待查找数字
     */
    public MatrixMock(int size, int length, int number) {
        int counter = 0;
        data = new int[size][length];
        Random random = new Random();
        /**
         * 用随机数字为矩阵赋值，每生成一个数字，就用它跟要查找的数字进行比较，如果一致，就将计数器counter加 1
         */
        for (int i = 0; i < size; i++) {
            for (int j = 0; j < length; j++) {
                data[i][j] = random.nextInt(10);
                if (data[i][j] == number) {
                    counter++;
                }
            }
        }
        System.out.printf("生成的数据中（待查找数字）%d 出现了 %d 次\n", number, counter);
    }

    /**
     * 返回行数据
     *
     * @return 存在row行，就返回行数据；不存在就返回null
     */
    public int[] getRow(int row) {
        if (row >= 0 && row < data.length) {
            return data[row];
        }
        return null;
    }


}
